package org.jeecg.modules.medication.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 药房产品
 * @Author: jeecg-boot
 * @Date:   2025-07-05
 * @Version: V1.0
 */
@Data
@TableName("medication_shop")
@ApiModel(value="medication_shop对象", description="药房产品")
public class MedicationShop implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
	/**父级节点*/
	@Excel(name = "父级节点", width = 15)
    @ApiModelProperty(value = "父级节点")
    private java.lang.String pid;
	/**是否有子节点*/
	@Excel(name = "是否有子节点", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否有子节点")
    private java.lang.String hasChild;
	/**商品类型*/
	@Excel(name = "商品类型", width = 15, dicCode = "shop_type")
	@Dict(dicCode = "shop_type")
    @ApiModelProperty(value = "商品类型")
    private java.lang.String goodsType;
	/**商品分类*/
	@Excel(name = "商品分类", width = 15)
    @ApiModelProperty(value = "商品分类")
    private java.lang.String typeName;
	/**价格*/
	@Excel(name = "价格", width = 15)
    @ApiModelProperty(value = "价格")
    private java.math.BigDecimal price;
	/**单位*/
	@Excel(name = "单位", width = 15)
    @ApiModelProperty(value = "单位")
    private java.lang.String unit;
	/**分类图片*/
	@Excel(name = "分类图片", width = 15)
    @ApiModelProperty(value = "分类图片")
    private java.lang.String pic;
	/**商品详情*/
	@Excel(name = "商品详情", width = 200)
    @ApiModelProperty(value = "商品详情")
    private java.lang.String details;
	/**关联药店*/
	@Excel(name = "关联药店", width = 15)
    @ApiModelProperty(value = "关联药店")
    private java.lang.String shop;
	/**库存*/
	@Excel(name = "库存", width = 15)
    @ApiModelProperty(value = "库存")
    private java.lang.Integer num;
	/**商品编号*/
	@Excel(name = "商品编号", width = 15)
    @ApiModelProperty(value = "商品编号")
    private java.lang.String productCode;
	/**商品条形码*/
	@Excel(name = "商品条形码", width = 15)
    @ApiModelProperty(value = "商品条形码")
    private java.lang.String arcode;
	/**商品追溯码*/
	@Excel(name = "商品追溯码", width = 15)
    @ApiModelProperty(value = "商品追溯码")
    private java.lang.String traceCode;
	/**型号*/
	@Excel(name = "型号", width = 15)
    @ApiModelProperty(value = "型号")
    private java.lang.String model;
	/**商品规格*/
	@Excel(name = "商品规格", width = 15)
    @ApiModelProperty(value = "商品规格")
    private java.lang.String productPecs;
	/**规格*/
	@Excel(name = "规格", width = 15)
    @ApiModelProperty(value = "规格")
    private java.lang.String specification;
	/**材质*/
	@Excel(name = "材质", width = 15)
    @ApiModelProperty(value = "材质")
    private java.lang.String material;
	/**包装单位*/
	@Excel(name = "包装单位", width = 15)
    @ApiModelProperty(value = "包装单位")
    private java.lang.String packagingUnit;
	/**外观包装*/
	@Excel(name = "外观包装", width = 15)
    @ApiModelProperty(value = "外观包装")
    private java.lang.String externalPack;
	/**销售单价*/
	@Excel(name = "销售单价", width = 15)
    @ApiModelProperty(value = "销售单价")
    private java.math.BigDecimal sellingPrice;
	/**销售折扣率*/
	@Excel(name = "销售折扣率", width = 15)
    @ApiModelProperty(value = "销售折扣率")
    private java.lang.Double salesRate;
	/**销售折扣后单价*/
	@Excel(name = "销售折扣后单价", width = 15)
    @ApiModelProperty(value = "销售折扣后单价")
    private java.math.BigDecimal discountPrice;
	/**销售小计金额*/
	@Excel(name = "销售小计金额", width = 15)
    @ApiModelProperty(value = "销售小计金额")
    private java.lang.String subtotalAmount;
	/**生产日期*/
	@Excel(name = "生产日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "生产日期")
    private java.util.Date productionDate;
	/**使用期限*/
	@Excel(name = "使用期限", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "使用期限")
    private java.util.Date serviceLife;
	/**失效日期*/
	@Excel(name = "失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "失效日期")
    private java.util.Date expiryDate;
	/**近效期示警标签*/
	@Excel(name = "近效期示警标签", width = 15)
    @ApiModelProperty(value = "近效期示警标签")
    private java.lang.String warningLabel;
	/**专利等知识产权说明*/
	@Excel(name = "专利等知识产权说明", width = 15)
    @ApiModelProperty(value = "专利等知识产权说明")
    private java.lang.String propertyNotes;
	/**产品说明书*/
	@Excel(name = "产品说明书", width = 15)
    @ApiModelProperty(value = "产品说明书")
    private java.lang.String productManual;
	/**产品注册许可证编号*/
	@Excel(name = "产品注册许可证编号", width = 15)
    @ApiModelProperty(value = "产品注册许可证编号")
    private java.lang.String licenseNumber;
	/**生产批号 */
	@Excel(name = "生产批号 ", width = 15)
    @ApiModelProperty(value = "生产批号 ")
    private java.lang.String serialNumber;
	/**质量层次*/
	@Excel(name = "质量层次", width = 15)
    @ApiModelProperty(value = "质量层次")
    private java.lang.String qualityLevel;
	/**生产厂家*/
	@Excel(name = "生产厂家", width = 15)
    @ApiModelProperty(value = "生产厂家")
    private java.lang.String manufacturer;
	/**产地*/
	@Excel(name = "产地", width = 15)
    @ApiModelProperty(value = "产地")
    private java.lang.String originPlace;
	/**厂家生产许可证编号*/
	@Excel(name = "厂家生产许可证编号", width = 15)
    @ApiModelProperty(value = "厂家生产许可证编号")
    private java.lang.String productionLicense;
	/**采购人资质要求*/
	@Excel(name = "采购人资质要求", width = 15)
    @ApiModelProperty(value = "采购人资质要求")
    private java.lang.String purchaseRequirements;
	/**贮存要求*/
	@Excel(name = "贮存要求", width = 15)
    @ApiModelProperty(value = "贮存要求")
    private java.lang.String storageRequirements;
	/**堆放要求*/
	@Excel(name = "堆放要求", width = 15)
    @ApiModelProperty(value = "堆放要求")
    private java.lang.String stackingRequirements;
	/**搬运要求*/
	@Excel(name = "搬运要求", width = 15)
    @ApiModelProperty(value = "搬运要求")
    private java.lang.String handlingRequirements;
	/**销售前库存数量*/
	@Excel(name = "销售前库存数量", width = 15)
    @ApiModelProperty(value = "销售前库存数量")
    private java.lang.Integer salesStorage;
	/**销售数量*/
	@Excel(name = "销售数量", width = 15)
    @ApiModelProperty(value = "销售数量")
    private java.lang.String salesQuantity;
	/**当前库存数量*/
	@Excel(name = "当前库存数量", width = 15)
    @ApiModelProperty(value = "当前库存数量")
    private java.lang.String currentStorage;
	/**紧急程度*/
	@Excel(name = "紧急程度", width = 15)
    @ApiModelProperty(value = "紧急程度")
    private java.lang.String urgencyLevel;
	/**非工作时段*/
	@Excel(name = "非工作时段", width = 15)
    @ApiModelProperty(value = "非工作时段")
    private java.lang.String nonworkingHours;
	/**节假日*/
	@Excel(name = "节假日", width = 15)
    @ApiModelProperty(value = "节假日")
    private java.lang.String holidays;
	/** 是否当面签收*/
	@Excel(name = " 是否当面签收", width = 15)
    @ApiModelProperty(value = " 是否当面签收")
    private java.lang.String issign;
	/**是否要求安装*/
	@Excel(name = "是否要求安装", width = 15)
    @ApiModelProperty(value = "是否要求安装")
    private java.lang.String isinstall;
	/**安装具体要求*/
	@Excel(name = "安装具体要求", width = 15)
    @ApiModelProperty(value = "安装具体要求")
    private java.lang.String installRequirement;
	/**是否要求配件*/
	@Excel(name = "是否要求配件", width = 15)
    @ApiModelProperty(value = "是否要求配件")
    private java.lang.String isAccessories;
	/**配件具体要求*/
	@Excel(name = "配件具体要求", width = 15)
    @ApiModelProperty(value = "配件具体要求")
    private java.lang.String acceRequirement;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remarks;
	/**商品上架申请单位*/
	@Excel(name = "商品上架申请单位", width = 15)
    @ApiModelProperty(value = "商品上架申请单位")
    private java.lang.String applicationUnit;
	/**商品上架申请单位对接人*/
	@Excel(name = "商品上架申请单位对接人", width = 15)
    @ApiModelProperty(value = "商品上架申请单位对接人")
    private java.lang.String contactPerson;

    @Excel(name = "规格编码", width = 15)
    @ApiModelProperty(value = "规格编码")
    private java.lang.String standardCode;

    @Excel(name = "是否审核", width = 15)
    @ApiModelProperty(value = "是否审核")
    private java.lang.String isAuth;

    @Excel(name = "是否上架", width = 15)
    @ApiModelProperty(value = "是否上架")
    private java.lang.String isValidate;



}
